// 引入data.json文件，获取对应的数据
const appData = require('./data.json')
const path = require('path')
const webpack = require('webpack')
const seller = appData.seller
const goods = appData.goods
const ratings = appData.ratings


function resolve(dir) {
  return path.join(__dirname, dir)
}

module.exports = {
  css: {
    loaderOptions: {
      stylus: {
        'resolve url': true,
        import: ['./src/theme']
      }
    }
  },
  pluginOptions: {
    'cube-ui': {
      postCompile: true,
      theme: true
    }
  },
  // devServer:webpack支持的写接口的字段
  devServer: {
    // before 函数支持参数app，可以在这里面定义接口
    before(app) {
      // extrus？ 函数 返回执行的结果
      // 通过app.get模拟接口
      app.get('/api/seller', function (req, res) {
        // ---------------------------------------
        // 模拟一个新接口
        const id = req.query.id
        // -------------------------
        res.json({
          // 成功的errno为0
          errno: 0,
          // data: seller
          // 将↑修改为↓
          data: Object.assign({}, seller, { id })
        })
      })
      app.get('/api/goods', function (req, res) {
        res.json({
          errno: 0,
          data: goods
        })
      })
      app.get('/api/ratings', function (req, res) {
        res.json({
          errno: 0,
          data: ratings
        })
      })
    }
  },
  chainWebpack(config) {
    // 运用nodejs中的拼接路径的方法：自定义的resolve
    config.resolve.alias
      .set('components', resolve('src/components'))
      .set('common', resolve('src/common'))
      .set('api', resolve('src/api'))

    config
      .plugin('context')
      .use(webpack.ContextReplacementPlugin, [/moment[/\\]locale$/, /zh-cn/])
  },
}
